/*
 * NuevoBat.java
 *
 * Created on 3 de julio de 2007, 08:43 PM
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

package everest3;

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.PrintWriter;
import java.sql.SQLException;
import java.util.Vector;
import tablasYBasesdeDatos.JDBCAdapter;

/**
 * Clase que se encarga de crear un ejecutable (.bat) con la url de instalaci&oacute;n de 
 * postgreSQL, con el fin de establecer la carga de la base de datos
 * @author JOSE LIBARDO MOLINA
 */
public class NuevoBat {
    
    /** Creates a new instance of NuevoBat */
    public NuevoBat() {
       try {
            FileWriter fw = new FileWriter(System.getProperty("user.dir")+"\\restaurar.bat");
            BufferedWriter bw = new BufferedWriter(fw);
            PrintWriter salida = new PrintWriter(bw);
            String cadena="\""+consulta()+"\\bin\\pg_restore.exe\" -i -h " +
                            "localhost -p 5432 -U postgres -d everest -v %windir%\\everest.backup";
            salida.println(cadena);
            salida.close();
        }
        catch(java.io.IOException ioex) {
          System.out.println("se presento el error: "+ioex.toString());
}
    }
    
    /**
     * M&eacute;todo que se encarga de realizar la consulta para obtener la ubicacion de instalacci&oacute;n del motor de base de datos PostgreSQL
     * @return URL del directorio de instalaci&oacute;n de postgreSQL
     */
    public String consulta(){
        JDBCAdapter dataBase = iniciarConexion();
        
         Vector valor=  dataBase.ConsultaIndividual("Show data_directory");
       
        try {
            dataBase.close();
        } catch (SQLException ex) {
            ex.printStackTrace();
        }
         String dir=valor.elementAt(0).toString();
         dir = dir.substring(0,dir.length()-5);
         System.out.print(dir);
         
         return dir;
    }
    /**
     * 
     * @param ar 
     */
    public static void main (String ar[])
    {
        new NuevoBat();
    }

    private JDBCAdapter iniciarConexion() {
        JDBCAdapter dataBase = new JDBCAdapter("jdbc:postgresql://localhost:5432/postgres", "org.postgresql.Driver", "postgres", "root");
        return dataBase;
    }
    
}
